<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
</head>

<script>
    
  function cat(name,color)
  {
    this.name=name;
    this.color=color;
    
    this.recall=function()
    {
    
      alert("我是一只猫");
    }
    
  }
  function ttcat(name,color)
  {
      this.name=name;
      this.color=color;

      this.recall=function()
      {

          alert("我是一只猫");
      }

  }

  var cat1=new cat("tom","blue");
  var cat2=new cat("kafei","white");
  cat1.recall();

  alert(cat1.constructor == cat);

  alert(cat2 instanceof ttcat);
  // 构造函数 方式的对象生成方法中  cat1 和 cat2 每个对象都拥有一个 recall函数的实例，造成浪费
  alert(cat1.recall==cat2.recall);






</script>
<body>
<input type="button" value="测试 使用构造函数 构造对象" onclick="test()">


</body>
</html>